package config

import (
	"fmt"
	"os"

	"github.com/joho/godotenv"
	"github.com/spf13/viper"
)

func LoadConfig(envPath string) error {
	// 加载 .env 文件
	err := godotenv.Load(envPath)
	if err != nil {
		return fmt.Errorf("Error loading .env file: %v", err)
	}

	// 从环境变量中获取配置文件路径
	configPath := os.Getenv("CONFIG_PATH")
	if configPath == "" {
		return fmt.Errorf("CONFIG_PATH not set in .env file")
	}

	// 设置 viper
	viper.SetConfigFile(configPath)

	// 读取配置文件
	if err := viper.ReadInConfig(); err != nil {
		return fmt.Errorf("Error reading config file: %v", err)
	}

	return nil
}
